SECTION MBR vstart=0x7c00
mov ax, cs
mov ds, ax
mov es, ax
mov ss, ax
mov fs, ax
mov gs, ax

; ================================================================
; roll back screen:   INT 0x10  AH = 0x06
; ================================================================
; AL: number of lines to be rolled back, 0 means rolling back the whole screen
; BH: line attribute
; (CL, CH): position of left-upper screen vertex
; (DL, DH): position of right-bottom screen vertex
; no return value
mov ax, 0x600
mov bx, 0x700
mov cx, 0x000   ; left-upper vertex: (0, 0)
mov dx, 0x184f  ; right-bottom vertex: (80, 25)
int 0x10

; ======================================
; print string:  INT 0x10 AH = 0x13
; BP: string address
; CX: string length
; AL: printing style
; BH: screen page number
; BL: character attribute
mov ax, msg
mov bp, ax
mov cx, 5       ; string length
mov ax, 0x1301
mov bx, 0x02
int 0x10

hlt
msg db "hello"
times 510 - ($ - $$) db 0
db 0x55,0xaa
